package org.leon;

import java.util.List;

/**
 * Created by leon.L on 2019/12/25.
 * Desc :
 */
public interface SqlSession {

    /**
     * 查询列表
     */
    <E> List<E> selectList(String sqlId, Object... params) throws Exception;

    /**
     * 查询单条
     */
    <T> T selectOne(String sqlId, Object... params) throws Exception;

    /**
     * 根据对象更新
     */
    int update(String statement, Object parameter) throws Exception;

    /**
     * 插入对象
     */
    int insert(String statementId, Object parameter) throws Exception;

    /**
     * 删除对象
     */
    int delete(String statementId, Object parameter) throws Exception;

    // 使用代理模式为调用的Dao生成实现类
    <T> T getMapper(Class<?> mapperClass);
}
